
\title{Project Pre-Proposal: \\ 
	Cache-Timing Attacks on AES}
\author{Brad Israel \\
	Department of Computer Science \\
	Rochester Institute of Technology \\
	Rochester, NY 14623 \\
	bdi8241@cs.rit.edu}
\date{May 06, 2008}
\include{header}

\begin{document}
\maketitle

\begin{abstract}
A cache-timing attack is a subset of side channel attacks, which try to find flaws in the design of encryption algorithms. This project will focus on the application of cache-timing attacks for the Advanced Encryption Standard (AES). The research will attempt to determine the feasibility of a full key recovery for AES, improve the attack in terms of success and reduction in the keyspace left to brute force, and try to apply the attack on different implementations and systems.
\end{abstract}

\section{Introduction}
A side channel attack on any type of encryption algorithm is an attack that tries to determine bits of an unknown key through the analysis of the system that the implementation is running on, as well as the design of the algorithm. There are many different classes of side channel attacks, including power, timing, and acoustic, however this research will be mainly focused on a subset of the timing attack called the cache-timing attack. This attack utilizes the fact that while the algorithm is encrypting data, different parts of it, such as the S-Boxes, lookup tables, helper functions, etc, are stored in either CPU cache or system memory. The way current computers are designed, the CPU cache is generally much faster to read from and use than the system memory is. The attack takes advantage of these facts by measuring the time it takes to encrypt data with an unknown key and compares them to the time it takes to encrypt data with a known key, essentially creating two statistical profiles. Using statistical analysis of the profiles, it is possible to determine pieces of the unknown key and reduce the remaining keyspace to something that is more easily attacked using a brute force method.\\
\indent There has been an increasing amount of academic work done in this area since Daniel Bernstein released his paper \cite{Bernstein2005cta} in 2005. A selection of the references used for the start of the research are listed as \cite{Neve2006ber_analysis, Canteaut2006understandingcta, Ohanlon2005invest_cta, Aciicmez2007exploiting_icache} in the references section below. 


\section{Project Proposal}
The first step in the research process will be to replicate and test some of the known attacks from the Bernstein and other referenced papers. This will create a baseline and test bench for future experiments. The research and analysis of this project will be mainly focused around the  following questions.
\begin{itemize}
\item How does the setup and speed of a system affect the outcome of the attack?
\item How accurate can the statistical profiles be? This can also be thought of as how much of the keyspace will be left to brute force after comparing the profiles.
\item Is it possible to create a statistical profile of a known key on similar, but separate hardware and still have the attack on the unknown key work? What level of hardware variance can the attack still be successful on?
\item Can the attack be applied to different open source or custom AES implementations?
\item Can a statistical profile of a known key on one implementation be used to attack an unknown key on a different implementation? Again, what is the level of variance that can happen before the attack is ineffective?
\item Is it possible to get more accurate times for the statistical profiles by using a profiler program like strace or dtrace? Is it possible to attack closed source or proprietary implementations of AES using this method?
\item Since one of the goals of AES was to make the encryption algorithm efficient on embedded systems, is it possible to use this attack on embedded systems? Can this be done by modifying the code of the system or using some sort of circuit to do the timing? For this part, it will be necessary to get some help from the Computer Engineering Department. 
\end{itemize}

\bibliographystyle{abbrvurl}
\bibliography{../bib/masters}

\end{document}
